#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
时间轴区域模块
负责创建和管理时间轴区域的UI组件
"""

from PySide6.QtWidgets import QLabel, QVBoxLayout, QHBoxLayout, QGroupBox, QSlider
from PySide6.QtCore import Qt
from src.config import Config


class TimelineArea:
    """时间轴区域类"""
    
    def __init__(self):
        """初始化时间轴区域"""
        self.time_label = None
        self.progress_slider = None
        
    def create_timeline_area(self, parent_layout):
        """
        创建时间轴区域
        
        创建包含时间显示标签和进度滑块的时间轴区域。时间标签显示当前时间和总时长，
        进度滑块允许用户拖动以定位到视频的特定位置。
        
        Args:
            parent_layout (QVBoxLayout): 父布局管理器，用于添加时间轴区域组件
            
        Returns:
            tuple: (timeline_group, time_label, progress_slider) 时间轴区域组、时间标签和进度滑块
        """
        timeline_group = QGroupBox(Config.TIMELINE_GROUP_TITLE)
        timeline_layout = QVBoxLayout(timeline_group)
        
        # 时间显示布局
        time_layout = QHBoxLayout()
        
        # 时间标签
        self.time_label = QLabel(Config.TIME_LABEL_INITIAL_TEXT)
        time_layout.addWidget(self.time_label)
        
        timeline_layout.addLayout(time_layout)
        
        # 进度滑块
        self.progress_slider = QSlider(Qt.Horizontal)
        self.progress_slider.setRange(0, 100)  # 初始范围，后续会根据视频时长调整
        timeline_layout.addWidget(self.progress_slider)
        
        parent_layout.addWidget(timeline_group)
        
        return timeline_group, self.time_label, self.progress_slider